Important for all Apple Printing and Graphics Developers:
The information in this Technical Q & A is still relevant up to and including Mac OS 7.6 with QuickDraw GX 1.1.5. Beginning with the release of Mac OS 8.0, however, Apple plans to deliver a system which incorporates QuickDraw GX graphics and typography only. QuickDraw GX printer drivers and GX printing extensions will not be supported in Mac OS 8.0 or in future Mac OS releases. Apple's goal is to simplify the user experience of printing by unifying the Macintosh graphic and printing architectures and standardizing on the classic Printing Manager. For details on Apple's official announcement, refer to </dev/technotes/gxchange.html> |
In order to disable items in the print panel, you need to get the collection item of what you want to disable and set the locked attribute by calling SetCollectionItemInfo(). This will dim the item in the panel. (NOTE: Not all items are able to be dimmed.) Collection items are documented in Inside Macintosh: QuickDraw GX Environments and Utilities. FYI, the Quality item is an exception to the dimming/elimination rule... The Quality collection item (gxQualityTag = 'qual') whose structure is defined in GXPrinting.h, has a Boolean field called disableQuality. If your driver specifies this field as true, then the quality item will not appear at all.
In order to change the destination pop-up and modify the 'OK' button(you need to do both together) you need to override the GXHandleAltDestination message and add an Alternate Destination ('dsta') resource to your driver. The specific details of these items are documented in Technote 1028.
If none of this suits your needs, you can override the panel entirely (via GXJobPrintDialog) and create your own. This is really not a good idea from the user interface standpoint, but it will get the job done.